package com.guet.service;

import com.guet.DTO.PaperDTO;
import com.guet.DTO.PaperPageDTO;
import com.guet.DTO.QuestionsDTO;
import com.guet.DTO.QuestionsSaveDTO;
import com.guet.VO.CorrectAnswerVO;
import com.guet.VO.PaperVO;
import com.guet.VO.QuestionsForStuVO;
import com.guet.VO.QuestionsVO;
import com.guet.result.PageResult;

import java.util.List;
import java.util.Map;

public interface TestService {
    Integer savePaper(PaperDTO paperDTO);

    PageResult getPaperList(PaperPageDTO paperPageDTO);

    void saveQuestions(List<QuestionsDTO> questionsDTOList, Integer id);

    List<QuestionsVO> queryQuestions(Integer id);

    PaperVO getPaperById(Integer id);

    void deletePaperById(Integer id);

    void publishPaper(Integer id);

    List<QuestionsForStuVO> getQuestionList(Integer id);

    void saveAnswer(QuestionsSaveDTO questionsSaveDTO, Integer paperId);

    Map<Integer, String> getAnswer(Integer paperId);

    void computeScore(Integer paperId);

    List<CorrectAnswerVO> getCorrectAnswer(Integer id);

    String getScore(Integer id);
}
